package service;

import java.util.ArrayList;
import java.util.List;

import daoImpl.RoomDaoImpl;
import daoImpl.SDaoImpl;
import dao_interface.RoomDao;
import dao_interface.StudentDao;
import po.*;

/**
 * 学生和宿舍的业务类
 * MVC的model类
 * 实现支持数据库存储的方式。
 * 同时作为room和student的业务类
 * @author 27261
 *
 */
public class ContactsService {
	StudentDao studentDao = new SDaoImpl();
	RoomDao roomDao = new RoomDaoImpl();
	/**
	 * 按姓名查找学生
	 * @param studentList 被查询的集合
	 * @param student 需要查询的学生
	 */
	public List<Student> searchStudentByName(String name) {
		List<Student> list = new ArrayList<Student>();
		list = studentDao.getByStudentName(name);
		return list;
	}
	/**
	 * 添加学生
	 * @param student
	 */
	public void addStudent(Student student) {
		studentDao.save(student);	
	}
	/**
	 * 修改学生
	 * @param id
	 * @param student
	 */
	public void updateStudent(long id,Student student) {
		studentDao.update(student);
		
	}
	/**
	 * 删除学生
	 * @param id
	 */
	public void deleteStudent(long id) {
		studentDao.delete(id);
		
	}
	/**
	 * 查询学生
	 * @param id
	 * @return
	 */
	public Student getStudent(Long id) {
		return studentDao.get(id);
	}

	/**
	 * 查询所有学生
	 * @return
	 */
	public List<Student> findAllStudent(){
		return studentDao.findAll();
		
	}
	
	/**
	 * 通过宿舍号查询宿舍
	 * @param id
	 * @return
	 */
	public List<Room> searchRoomByName(String name) {
		List<Room> list = new ArrayList<Room>();
		list = roomDao.getRoomByName(name);
		return list;
	}
	/**
	 * 添加宿舍
	 * @param student
	 */
	public void addRoom(Room room) {
		roomDao.save(room);	
	}
	/**
	 * 修改宿舍
	 * @param id
	 * @param student
	 */
	public void updateRoom(int id,Room room) {
		roomDao.update(room);
	}
	/**
	 * 删除宿舍
	 * @param id
	 */
	public void deleteRoom(int id) {
		roomDao.delete(id);
	}
	/**
	 * 查询宿舍
	 * @param id
	 * @return
	 */
	public Room getRoom(int id) {
		return roomDao.get(id);
	}

	/**
	 * 查询所有宿舍
	 * @return
	 */
	public List<Room> findAllRoom(){
		return roomDao.findAll();
		
	}
}

